home *** CD-ROM | disk | FTP | other *** search
- Programmer's File Editor
- History of Development Changes
- ------------------------------
-
- [Note: Not all the versions whose numbers appear in the list below have
- been released publicly]
-
-
- 0.04.002
- --------
-
- The "file changed" marker in the status bar has been changed from "C" to "#"
- to avoid confusion with language types
-
- Added a standard key mapping Ctrl+Shift+O to invoke EditSplitLine
-
- Fixed random return value from routine that detected a second PFE instance
-
- Characters with ASCII values > 127 are now printed correctly as ANSI characters
- rather than as digraphs
-
- Extending a selection generated by a successful search no longer causes a UAE
-
- It is now possible to set the screen font and printer font to non-ANSI as well
- as ANSI fonts
-
- The most-recently-used-file list is no longer erroneously appended to the
- system menu instead of the File menu if the MDI child is started maximized
-
- Files specified on the command line with names beginning '\' are now handled
- correctly
-
- Search-and-replace no longer disregards the 'read-only' status of a file
-
- The filter for "*.exe" files in the Browse sub-dialog of the "Configure
- Windows Tools" dialog now works correctly
-
- Fixed a bug whereby some files would not be saved on exit or from a
- File|CloseAll operation if some altered files were untitled
-
- General release as the second beta version on 3 November 1992
-
-
- 0.04.001
- --------
-
- Improved scrolling behaviour when dragging a selection with a mouse and
- fixed several bugs that caused the selection to freeze
-
- Fixed a bug introduced in 0.03.036 that stopped drag-and-drop copy from
- working
-
- Fixed some UAEs when scrolling with PageUp when the caret is in the top line
- of the screen, with less than one window's worth of lines above it
-
- Fixed inaccurate scrolling down by pages when less than one window's worth
- of lines remained below the window and the bottom line of the window was
- not one full row in height
-
- If PFE is terminated when the tool bar is a floating window, it will now
- restart with the tool bar as a floating window
-
- Making PFE iconic when the tool bar is floating no longer erroneously changes
- it to a bar on the right hand border
-
- The way PFE locates the Windows SDK helpfile for the Help|SDK function has been
- made more sensible. If the [options] section of the ini file contains a
- 'sdk-helpfile' key, the name given is used; if not, PFE looks for first
- "win31wh.hlp" and then "sdkwin.hlp" on the PATH and uses the first one found.
-
- Limited release to beta testers for validation as the possible beta 2 version
- on 19/10/92
-
-
-
- 0.03.036
- --------
-
- When configuring the first tool in the Configure Windows Tools dialog, the
- Add button now correctly becomes active as soon as something is typed in
- the Command Line edit control
-
- The default mapping of Ctrl-P to File|Print is now shown on the menu
-
- Fixed a bug whereby, if PFE was maximized, made iconic, and closed from the
- icon's system menu, it would restart restored rather than maximized
-
- Added an ini file setting "start-maximized" to the [options] section, which
- controls whether PFE starts maximized, overriding the saved state at last
- closedown
-
- Shift-PgUp and Shift-PgDn no longer cause UAEs or select the wrong sections of
- text
-
- Added an ini file [options] setting "track-vertical-thumbtack" that controls
- whether PFE scrolls to follow vertical thumbtack dragging
-
- PFE now leaves selected text highlighted after it is copied to the clipboard.
- An ini file [options] setting can specify that highlighting is to be removed
-
- Key names in menus and the Key Mapping dialog now use '+' rather than '-'
- to link components, to be CUA compliant
-
- The Settings menu has been renamed Options
-
- Corrected a bug in the command line parser that would cause DDE commands and
- ini file lines whose last argument was in quotes to be mis-parsed
-
- Added a most-recently-used files list to the File menus
-
- Added a menu option and tool bar action to repeat the last DOS command run
-
- Corrected PgUp and PgDn and scroll bar page moves when caret is not within the
- window
-
- The default setting for the 'auto-unix' key in the [options] section of the
- ini file is now 1, so that UNIX files will save in UNIX format by default
-
- The Browse Application dialog started from the Browse button in the Configure
- Windows Tools now uses a filter showing only "*.exe" files
-
-
- 0.03.035
- --------
-
- Improved icons
-
- Some development code that was accidentally left active and caused a UAE
- when Ctrl-Z was pressed for an Undo has been removed; undo actions are not
- yet supported
-
- Fixed a bug that prevented disabling only a subset of the possible prefix
- keys
-
- Dragging the mouse to extend a selection should no longer leave a caret trail
- on slower machines
-
- Windows are now scrolled to track movements of the thumbtack in the vertical
- scroll bar
-
- All references to "Development Tools" in menus and functions have changed to
- use "Windows Tools", to clarify the intended use of the facilities
-
- Details of the actual command line used and working directory are now stored
- for all Windows Tools between sessions, and not solely for the last one
- used
-
- Limited release to beta testers 05/10/92
-
-
-
- 0.03.034
- --------
-
- When a window is duplicated, the second copy's scroll bars are now set
- correctly
-
- Fixed a bug whereby, if a window lost focus when its caret had been scrolled
- out of view, the caret would be wrongly placed when the window regained
- focus
-
- The tool bar is now disabled when PFE is waiting for the second key of a
- two-character command sequence
-
- If the left button is pressed in the tool bar, and the mouse is moved out of
- the tool bar before it is released, focus is now correctly restored to the
- current window
-
- If the left button is pressed in a tool bar button and the mouse then moved
- off the button, the button will return to its down state should the mouse
- move back onto it
-
- When dragging the tool bar from a border, the state will now not change
- unless the mouse cursor is outside the tool bar when the left button is
- released
-
- A 1-pixel gap between the area showing line numbers and the area showing the
- text in a window has been eliminated
-
- Ctrl-K can now be used as a prefix key
-
- The prefix keys ESC, Ctrl-B, Ctrl-F, Ctrl-K and Ctrl-X can individually be
- enabled and disabled from a sub-dialog of the key mapping dialog. When
- disabled as a prefix key, each of them can be mapped to a function as required.
- By default they are all disabled, and the hard-coded key mappings are now fully
- CUA-compliant. As a result the format of .key files has changed
-
- Pressing TAB when no file is open no longer causes a UAE
-
- Page Down now does nothing if the final line of the file is visible in the
- window
-
- Added a File|Name menu item and equivalent DDE command that allows the file name
- associated with a window to be changed without writing any data to a disk
-
- The EditPageUp and EditPageDown functions have been redesigned to maintain the
- caret in the same screen row, and to keep a memory of the caret column. This
- means that a page down followed by a page up returns to exactly the starting
- position
-
- Vertical scrolling using the scroll bar now does not move the caret within the
- file, but moves it with the text
-
- Selections are no longer removed when the data is scrolled using the vertical
- thumbtack
-
- Functions EditShowNextLine, EditShowPreviousLine, EditShowNextPage and
- EditShowPreviousPage have been added to give keyboard equivalents of vertical
- scroll bar actions
-
- Menu items File|Open, File|New and File|Print are now bound by default to Ctrl-O,
- Ctrl-N and Ctrl-P as recommended in the CUA
-
- Pressing a key that is not mapped no longer causes the window to scroll to
- show the caret if this is not initially visible
-
-
-
- 0.03.033
- --------
-
- Fixed a bug whereby directories whose names were a single letter or '.' were
- not accepted in the Working Directory controls of the DOS Command and Launch
- Tool dialogs
-
- Scroll bars no longer respond to the first mouse click if their window is
- inactive; the click simply activates the window without disturbing its state
-
- The caret now follows the mouse cursor in a somewhat more friendly fashion
- when dragging with the left mouse button down
-
- The File Print dialog now allows line numbering, line wrapping and page header
- options to be specified. The corresponding window mode values are now the
- default settings for the dialog rather than the active settings
-
- An initialisation file option now allows new windows to be created always
- restored; always maximized; or maximized if and only if an existing window is
- also maximized. These options can also be made conditional on the main window
- being maximized too.
-
- ESCAPE now closes the About dialog box
-
- The vertical elevator is now correctly positioned after a search or a
- Window|CentreCaret operation
-
- The ini file and keymap files are now found correctly if the Windows directory
- is in a JOINed or mounted directory that appears as the root directory of a
- drive
-
- Printer font selection now uses the Font common dialog
-
- Filenames are now correctly set in the document title used by Print Manager
- when a file is printed
-
- Window titles for unnamed files, unnamed templates and command output have been
- redesigned; the title for an unnamed template and a command output window now
- includes a sequence number
-
- PFE no longer beeps to warn of an impossible scroll request (e.g. scrolling
- up a line when already in the top line)
-
- The Template|SaveFile and Template|Store menu items no longer both have 'S'
- as their hot key
-
- The Template|SaveFile menu item now has an ellipsis to show a dialog will be
- run
-
- The File menu has been re-arranged for better CUA compliance
-
- The top and bottom margin checkboxes are no longer confused in the Print
- Setup dialog
-
-
-
- 0.03.032
- --------
-
- Changing file and window modes with the Settings|CurrentSettings dialog no
- longer erroneously lights the toolbar Cut button
-
- Files can now be loaded and saved in UNIX format, using LF as a line terminator
-
- Clipboard data in excess of 64K is now handled correctly
-
- The File Open and File View dialogs now allow multiple files to be selected
-
- Wildcarded file names can now be given both on the command line and in the
- DDE commands FileOpen and FileView
-
- Fixed a bug in which an invalid window handle was passed to IsIconic on
- startup, which was trapped by the debugging kernel
-
- Captured output from DOS commands can now be shown in an existing Command
- Output window as an alternative to creating a new window
-
- Windows can now be tiled in a custom vertical pattern that maximizes their
- width
-
- A new function FileAbandon and corresponding DDE command allows a changed file
- to be closed with the changes discarded
-
-
-
- 0.03.031
- --------
-
- Cursor resource memory is now properly freed after the toolbar has been
- dragged with the multi-headed-arrow cursor
-
- Text drag-and-drop is now implemented
-
- When a window is duplicated, the copy now correctly inherits the text colours
- and language type of the parent
-
- Fixed a bug whereby a non-stock font would not be deleted on termination
-
-
- 0.03.030
- --------
-
- If an invalid line number is entered as the target in the Goto Line dialog,
- focus is now set back to the control after the error message is shown
-
- Menu items to select the fixed pitch ANSI, OEM and SYSTEM fonts have been added
-
- The "Free Key" and "Free All Keys" buttons in the Key Mapping dialog have been
- renamed to "Unmap Key" and "Unmap All"
-
- Selecting Window|Next when all windows are iconic now restores the current
- window rather than entering an infinite loop
-
- The Status Bar now uses the Windows variable-pitch ANSI font
-
- Added an Edit|SelectAll menu item to select an entire file
-
- Maximized MDI child windows can now be closed by double-clicking in the
- system menu box
-
- The "goto start of file" and "goto end of file" operations are now by default
- invoked by Ctrl-Home and Ctrl-End rather than Ctrl-PgUp and Ctrl-PgDn, to
- be in line with standard Windows practice
-
- Selected text is now displayed in the correct text and background colours as
- set up from the Control Panel
-
- If the current window is set to have a language type of "C", Edit|SelectWord
- treats an underscore character as alphanumeric, so that identifiers such as
- WM_CREATE can be selected as a single entity
-
- Fixed a nasty memory manager bug that could cause a UAE inserting a newline
- after a line deletion in very complicated circumstances to do with the fact
- that line control blocks are held in groups of 1024
-
- The vertical thumbtack is now set more sensibly, reflecting the line number
- of the line at the top of the window
-
- Positioning within a file containing more than 65535 lines by moving the
- vertical thumbtack now works correctly
-
- Tabstop ordering in the Print Setup dialog has been made sensible
-
- Limited release to beta testers 19/08/92
-
-
- 0.03.029
- --------
-
- Selecting text with a mouse has been enhanced. Holding SHIFT down while clicking
- the left button will select between the caret and the mouse cursor, or will
- extend an existing selection
-
- The Window|Widen menu option will now restore iconic or maximized windows before
- resizing them
-
- Shift+click on the "Toggle Keyboard Recorder" toolbar button now replays the
- keyboard recording
-
- The 'Save File' toolbar button now invokes the TemplateStore function if the
- current window contains a template. The button state now correctly reflects the
- change state of template windows
-
- The caret now changes size to indicate whether a window is in insert or overwrite
- mode
-
- Selecting a word by double-clicking the mouse or using Edit|SelectWord no
- longer selects white space to the right of the word
-
- Fixed a bug whereby, after doing a Window|Tile, the wrong window would respond
- to keyboard input and scroll bar actions
-
- Fixed a bug which would sometimes cause File|Insert not to close the file that
- was inserted
-
-
-
- 0.03.028
- --------
-
- The font used in edit windows may now be selected from all the available
- fixed pitch ANSI screen fonts
-
- The 'search' dialog now permits you to specify whether the matching string
- is to be selected or not (the default is settable in the ini file). The
- dialog also allows you to choose to extend the selection from the initial
- caret position to the matching string
-
- All dialogs have been redesigned to use 8pt MS Sans Serif text instead of
- 10pt System
-
- The algorithm for positioning the caret in the text when the left mouse
- button is clicked has been improved: clicking in the left half of a
- character cell places the caret to the left of that character, and clicking
- in the right half places it to the right
-
- The "Key Mapping" dialog now permits a key to be remapped from one function to
- another with a single button click, instead of needing first to free it and
- then map it to the target function
-
- The "Free All Keys" button in the "Key Mapping" dialog now requests
- confirmation before proceeding
-
-
-
- 0.03.027
- --------
-
- Minor internal changes to make the source compatible with MSC 7.0
-
- The Edit|Text|Uppercase and Edit|Text|Lowercase functions now correctly
- mark the file as being changed. They also produce an error if used
- on a read-only file. Both now handle characters with ASCII codes > 127
- properly; note, though, that neither these, nor anything else in PFE,
- will work with Kanji or other languages using 2-byte codes
-
-
-
- 0.03.026
- --------
-
- Altered files can now be saved to disk automatically before running a
- DOS command or launching an application or a development tool
-
- The details of the last-used DOS command, application or development tool
- are now remembered between PFE sessions. The details of the last used
- development tool are also shown as the default each time the dialog is
- started
-
- The Run DOS Command dialog box now has a Browse button
-
-
-
- 0.03.025
- --------
-
- Extra functions are now available from the toolbar by using the SHIFT and
- CONTROL keys in combination with the left mouse button. See the help file
- for details.
-
- The "Window" menu item on the menu bar has been moved to be the last apart
- from "Help", to match the standard menu layout for MDI applications
-
- Windows may now be set to use "soft tabs": tabs will be inserted
- as an appropriate number of spaces rather than as single 0x09 characters
-
- The "Insert Template" toolbar button is now correctly set as template files
- are attached and detached
-
- The TemplateInsert, TemplateEdit, TemplateStore and TemplateStoreAs functions
- no longer cause UAEs if no template file is attached
-
- Files that have the "read only" attribute set are opened in read-only mode,
- regardless of the "read only" button state in the File Open dialog
-
- Characters with ASCII codes from 128-255 can now be inserted from the
- keyboard
-
-
- 0.03.024
- --------
-
- Many of the functions shown in the Key Mapping dialog, and the
- equivalent DDE commands, have been renamed. They now correspond better
- to the menus where they are held (or would be held)
-
- A bug whereby a DDE Poke operation received DDE_FACK on a fail and
- DDE_FNOTPROCESSED on successful termination has been cleared
-
- A successful search now sets the toolbar cut and paste buttons correctly
-
- Several new DDE commands and enquiries added
-
- The syntax of the DDE commands CaretLeft(), CaretLeftWord(), CaretRight()
- and CaretRightWord() is now changed so that each takes two mandatory
- arguments. The first is the count of the number of characters or words
- to move, and the second is 1 to extend a selection and 0 not to do so
-
- To avoid confusion over what it is, the support module PFEDOS.EXE, which
- is used by PFE to handle output redirection in DOS commands, has been renamed
- $PFEDOS.EXE, which hopefully looks less like a DOS version of PFE. The
- associated PIF file is now called $PFEDOS.PIF to match
-
- Using selection-extend keys like Shift-Left after marking a selection with
- the mouse now has the desired effect. Other minor bugs when moving the
- caret with Shift down to extend selection have been cleared
-
- Caret movement keys can now be remapped. This has required an incompatible
- change in the format of key mapping files, so that files saved with
- earlier releases of PFE cannot be used
-
- The semantics of the default PgUp and PgDn mapping is slightly altered; if
- line 1 is at the top of the window, PgUp moves to the start of the file, and
- if the last line is at the top of the window, PdDn moves to the end of file.
-
- Shift-PgUp and Shift-PgDn are now mapped to page up/down moves that extend
- the selection
-
- To be compatible with standard MDI practice, Shift-F4 now maps to
- WindowTile by default, and Shift-F5 to WindowCascade. TemplateInsertMarker
- has moved to F6, and CaretCentre to Ctrl-F5
-
- The Goto Line dialog has been enhanced to allow optional extending of
- a selection
-
- ^T is now accepted as meaning TAB in a search or replace string, as well
- as ^t
-
-
-
- 0.03.020
- --------
-
- Released as the Beta 1 version of PFE 28/07/92
-
-
-
- ------------------------------------------------------------------------------
-
- Reported bugs that have not yet been cleared
- --------------------------------------------
-
- Loading a file containing control characters causes either a UAE or a locked
- system
-
- The toolbar paste button is not updated correctly if another application is
- activated and changes the clipboard contents
-
- If a search locates a matching string that is to the left of the visible area
- of the file, the window scrolls only far enough to show the caret; for a
- forward search this leaves the target string not visible
-
- When an area is deleted from one window, any other window showing the same file
- will have its caret column position incorrectly adjusted if the caret is
- within or below the area
-
- If the user tries to save an un-named template, calling it by the same name as
- an existing one, and presses CANCEL in response to the confirmation prompt,
- the template window is nevertheless given that name
-
- In general selection dragging behaviour with the mouse outside the window needs
- some improving. When the cursor is to left or right of the window tracking
- should not be timer based
-
- The method of checking for termination of a DOS command usually results in a
- call to GetModuleUsage with an invalid module handle. The code needs to be
- replaced with something using ToolHelp
-
- When a selection ends with the cursor at the left of an empty line, the
- display code draws a half-cell highlight on that line erroneously
-
- When dragging, caret should go to left or right of window in a single
- operation when cursor goes off past left or right borders
-
- Most dialogs do not have system boxes
-
- On slower machines, the screen does not update often enough to handle auto-
- repeating a key
-
- Changing the screen font to a larger type face can result in the caret no
- longer being visible in the window
-
- Duplicate windows should have ":sequencenumber" appended to their titles
-
- There is no way to insert special characters such as ESCAPE into a file
-
- Cursor should change to hourglass when cutting text
-
- When MDI child is to be opened maximized, the initial state where it is shown
- restored should be suppressed
-
- Double-click to the right of a line, or in the right-hand half of the last
- character in a line, should select the word to the left of the mouse cursor
-
- With text like "point.x = something", double clicking on the right hand side of
- the 'x' or left side of the following space uses '.' as a word delimiter when
- extending the selection left. This is inconsistent with how extensions right
- work, or when the '.' is followed by more than one character
-
- Random UAEs when pasting large(?) blocks; Dr Watson logs show the break in
- module 28 (space.o); a pointer to an SNODE block is NULL
-
-
-
- ------------------------------------------------------------------------------------
-
- Things To Be Done
- -----------------
-
- [This list details features that are intended to appear in the version 1 full
- release. Depending on many factors it may not be possible to implement all of
- the items here for that release - but they should all appear in due course]
-
- Implement Undo
-
- Replace the code that passes filenames from one instance to another with a
- version that does so in one operation and hence is immune to DDE timeouts
-
- Abolish restrictions on line length and make horizontal scroll bar handling
- sensitive to the actual data visible
-
- File|SaveAll option
-
- Ability to indent/undent a range of lines
-
- Add ability to define multiple keyboard macros, with load and save
-
- Improve intelligence of text redrawing to avoid flicker in overstrike mode
- and when updating the position in the status bar
-
- Use common dialogs for Find and Replace
-
- Implement double-click and drag to extend selection by words
-
- Change the mouse cursor shape over selections to give a cue that drag and
- drop is possible
-
- Allow search on regular expressions
-
- Implement line wrapping and paragraph reformatting
-
- Resize the tool bar buttons to appear roughly the same physical size for all
- screen resolutions
-
- Implement save-with-backup and periodic-auto-save features
-
- Record tool bar actions in keyboard macros
-
- Make the line number area resizable by dragging the left border
-
- Provide visual feedback when dragging the tool bar about
-
- Hide the mouse cursor while the user is typing
-
- When a file name is changed (by File|SaveAs or File|Name) the file and window
- modes should alter to match the new file type
-
- Ability to automatically move to the end of command output windows
-
- Ini file option to allow PageUp/PageDown to work in units of half a window
-
- Ability to mail files via MAPI-compliant mail systems
-
- Full rewrite of the help file to make it actually useful
-
- Allow current file name to automatically be substituted in DOS commands
-
- Generate 32-bit version for Windows/NT
-
- Allow multiple instances to run if required (currently only the fact that DOS
- commands must run single-threaded prevents this)
-
- Use the selected text as the default search string when searching
-
- When a file is renamed by File|Name, PFE should check on saving whether the
- file exists, and prompt for confirmation if it does
-
- Add adjustable right margin line to indicate a specific column width
-
- Auto-indenting should be done if a line is split, or a newline is inserted
- within it
-
- Remember position of floating toolbar between sessions
-
- When dragging-and-dropping, use Shift down to force a copy regardless of the
- ini file settings regarding control key usage
-
-
- ------------------------------------------------------------------------------------
-
- Long Term Developments
- ----------------------
-
- [Features here are regarded generally as Good Things, and may well be included
- in later releases. They will not be implemented for version 1]
-
- User configurable tool bar and menu
-
- Script language
-
- More sophisticated language support driven by external language-aware DLLs to
- perform syntax colouring, etc
-
- Optional project management system
-
- Support for group working under Windows for Workgroups
-
- Ability to invoke help based on the items selected in a window
-
- Text folding and bookmarks
-
-
-
-
- ------------------------------------------------------------------------------
- Thanks to all the beta testers whose bug reports, comments and suggestions
- have gone towards the development of PFE
- ------------------------------------------------------------------------------
-
-